﻿using AwesomiumDotNet;
using System.Windows.Input;

namespace WpfSample
{
    class AwesomiumCursor
    {
        public static Cursor GetCursor(AwesomiumDotNet.CursorType cursorType)
        {
            switch (cursorType)
            {
                case AwesomiumDotNet.CursorType.Pointer:
                    return Cursors.Arrow;
                case AwesomiumDotNet.CursorType.Cross:
                    return Cursors.Cross;
                case AwesomiumDotNet.CursorType.Hand:
                    return Cursors.Hand;
                case AwesomiumDotNet.CursorType.IBeam:
                    return Cursors.IBeam;
                case AwesomiumDotNet.CursorType.Wait:
                    return Cursors.Wait;
                case AwesomiumDotNet.CursorType.Help:
                    return Cursors.Help;
                case AwesomiumDotNet.CursorType.EastResize:
                    return Cursors.SizeWE;
                case AwesomiumDotNet.CursorType.NorthResize:
                    return Cursors.SizeNS;
                case AwesomiumDotNet.CursorType.NorthEastResize:
                    return Cursors.SizeNESW;
                case AwesomiumDotNet.CursorType.NorthWestResize:
                    return Cursors.SizeNWSE;
                case AwesomiumDotNet.CursorType.SouthResize:
                    return Cursors.SizeNS;
                case AwesomiumDotNet.CursorType.SouthEastResize:
                    return Cursors.SizeNWSE;
                case AwesomiumDotNet.CursorType.SouthWestResize:
                    return Cursors.SizeNESW;
                case AwesomiumDotNet.CursorType.WestResize:
                    return Cursors.SizeWE;
                case AwesomiumDotNet.CursorType.NorthSouthResize:
                    return Cursors.SizeNS;
                case AwesomiumDotNet.CursorType.EastWestResize:
                    return Cursors.SizeWE;
                case AwesomiumDotNet.CursorType.NorthEastSouthWestResize:
                    return Cursors.SizeNESW;
                case AwesomiumDotNet.CursorType.NorthWestSouthEastResize:
                    return Cursors.SizeNWSE;
                case AwesomiumDotNet.CursorType.ColumnResize:
                    return Cursors.SizeWE;
                case AwesomiumDotNet.CursorType.RowResize:
                    return Cursors.SizeNS;
                case AwesomiumDotNet.CursorType.MiddlePanning:
                    break;
                case AwesomiumDotNet.CursorType.EastPanning:
                    return Cursors.ScrollE;
                case AwesomiumDotNet.CursorType.NorthPanning:
                    return Cursors.ScrollN;
                case AwesomiumDotNet.CursorType.NorthEastPanning:
                    return Cursors.ScrollNE;
                case AwesomiumDotNet.CursorType.NorthWestPanning:
                    return Cursors.ScrollNW;
                case AwesomiumDotNet.CursorType.SouthPanning:
                    return Cursors.ScrollS;
                case AwesomiumDotNet.CursorType.SouthEastPanning:
                    return Cursors.ScrollSE;
                case AwesomiumDotNet.CursorType.SouthWestPanning:
                    return Cursors.ScrollSW;
                case AwesomiumDotNet.CursorType.WestPanning:
                    return Cursors.ScrollW;
                case AwesomiumDotNet.CursorType.Move:
                    return Cursors.SizeAll;
                case AwesomiumDotNet.CursorType.VerticalText:
                    return Cursors.IBeam;
                case AwesomiumDotNet.CursorType.Cell:
                    break;
                case AwesomiumDotNet.CursorType.ContextMenu:
                    break;
                case AwesomiumDotNet.CursorType.Alias:
                    break;
                case AwesomiumDotNet.CursorType.Progress:
                    return Cursors.AppStarting;
                case AwesomiumDotNet.CursorType.NoDrop:
                    return Cursors.No;
                case AwesomiumDotNet.CursorType.Copy:
                    break;
                case AwesomiumDotNet.CursorType.None:
                    return Cursors.None;
                case AwesomiumDotNet.CursorType.NotAllowed:
                    return Cursors.No;
                case AwesomiumDotNet.CursorType.ZoomIn:
                    break;
                case AwesomiumDotNet.CursorType.ZoomOut:
                    break;
                case AwesomiumDotNet.CursorType.Custom:
                    break;
            }
            return Cursors.Arrow;
        }
    }
}
